range: Don't duplicate work
authorBenjamin Otte <otte@redhat.com>
Fri, 21 Nov 2014 07:50:38 +0000 (08:50 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 25 Nov 2014 18:19:12 +0000 (19:19 +0100)
The adjustment value being equal is checked by
gtk_adjustment_set_value() and the necessity of calc_layout() is handled
by the value_changed signal handler.

gtk/gtkrange.c

index 80e632a38db8291f30576602850838150f0bac60..4fa48233da245e5599ee34ceaff96a0396371d2d 100644 (file)
@@ -4012,17 +4012,10 @@ gtk_range_real_change_value (GtkRange      *range,
       value = floor ((value * power) + 0.5) / power;
     }
 
-  if (gtk_adjustment_get_value (priv->adjustment) != value)
-    {
-      priv->need_recalc = TRUE;
-
-      gtk_widget_queue_draw (GTK_WIDGET (range));
-
-      if (priv->in_drag)
-        gtk_adjustment_set_value (priv->adjustment, value);
-      else
-        gtk_adjustment_animate_to_value (priv->adjustment, value);
-    }
+  if (priv->in_drag)
+    gtk_adjustment_set_value (priv->adjustment, value);
+  else
+    gtk_adjustment_animate_to_value (priv->adjustment, value);
 
   return FALSE;
 }